// 导入axios
import store from '@/store';
import axios from 'axios'


// 创建一个axios实例
const service = axios.create({
  // 基地址
  // baseURL: 'http://ihrm.itheima.net'

  // 解决跨域问题
  // baseURL: '/api'

  // 环境变量   使用任何环境
  baseURL: process.env.VUE_APP_BASE_API
  //这样不管是开发环境 还是生产环境 都key自动改变


})

// 添加请求拦截器
service.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  console.log('所有正常请求在到达服务器之前都会经过这里', config);
  // 给请求头添加token
  // 先获取token
  const token = store.state.user.token
  console.log('请求token', token);
  // 判断如果有token 那么就添加
  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
service.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  console.log('所有正常响应在返回浏览器之前都会经过这里', response);   //response.data.message
  if (!response.data.success) {
    // 如果success为false  那么手动抛出一个promise错误   并且是 new Error()   就是new一个错
    return Promise.reject(new Error(response.data.message))  //提示用户名或者密码错误



  }
  return response.data   //解构一下
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default service
